package com.lovely3x.jobservice.executors.extensions.downloader2.serializer;

import java.io.Closeable;
import java.io.IOException;

/**
 * 随机访问写入器
 * Created by lovely3x on 16-1-28.
 */
public interface RandomAccessWriter extends Closeable {

    /**
     * 设置文件指针的偏移
     *
     * @param offset 文件指针偏移偏移
     * @throws IOException 滑动指针偏移失败
     */
    void seek(long offset) throws IOException;

    /**
     * 写入
     *
     * @param buf    需要写入的数据
     * @param offset 写入数据的偏移
     * @param len    需要写入的数据的长度
     * @throws IOException 写入失败
     */
    void write(byte[] buf, int offset, int len) throws IOException;
}
